package csdn.IO.li04;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
//优化资源关闭，处理异常----方式一
public class Test03 {
        public static void main(String[] args){
        // 实例化文件对象，注意路径中的反斜杠需要转义
        File fileA = new File("E:\\java.1212\\csdn\\IO\\li04\\a.txt");
        File fileB = new File("E:\\java.1212\\csdn\\IO\\li04\\b.txt");
        Reader reader = null;
        Writer writer = null;
        
        try {
            // 实例化流对象
            reader = new FileReader(fileA);
            writer = new FileWriter(fileB, true);
            
            // 读取并写入内容
            int i;
            while ((i = reader.read()) != -1) {
                writer.write(i);
            }
            
            System.out.println("文件内容复制完成！");
            
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 关闭流资源，放在finally中确保一定会执行
            // 每个资源的关闭最好单独进行
            try {
                if (writer != null) {
                    writer.flush();
                    writer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            
            try {
                if (reader != null) {
                    reader.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
